<?php
declare(strict_types=1);

namespace Modules\Web\Service;

use HiCommon\Repository\ShopModifyRepository;
use HiCommon\Repository\ShopModifyImgRepository;

class ShopModifyService extends BaseService
{



    /**
     *  验证提交数据
     *  hinq 2019 11 04
     *
     **/
    public function checkData( array $arr_input ){
        if( empty( $arr_input['company_name'] ) ){
            return hello_error('公司名称不能为空');
        }
//        if( empty( $arr_input['logo'] ) ){
//            return hello_error('logo不能为空');
//        }
//        if( empty( $arr_input['types'] ) ){
//            return hello_error('服务类型不能为空');
//        }
        if( empty( $arr_input['shop_img'] ) ){
            return hello_error('门店照片不能为空');
        }
        if( count( $arr_input['shop_img'] ) > 5 ){
            return hello_error('门店照片最多只能上传5张');
        }
        if(  empty( $arr_input['province'] )  ||  empty( $arr_input['city'] )  ||  empty( $arr_input['area'] )  ||  empty( $arr_input['address'] ) ){
            return hello_error('地址信息不能为空');
        }
        if( empty( $arr_input['name_boss'] ) ){
            return hello_error('老板名称不能为空');
        }
        if( empty( $arr_input['phone'] )){
            return hello_error('老板手机号码不能为空');
        }
        if( !preg_match("/^1[3456789]\d{9}$/", $arr_input['phone'] ) ){
            return hello_error('老板手机号码格式不正确');
        }
        if( empty( $arr_input['img'] ) ){
            return hello_error('营业执照图片不能为空');
        }
        if( empty( $arr_input['code'] ) ){
            return hello_error('请输入验证码');
        }
        //验证手机号码+验证码是否输入成功   有用不可删除
//        $check = check_phone_code( $arr_input['phone'] , $arr_input['code'] );
//        if( $check['state'] != 0){
//            return $check;
//        }
        unset( $arr_input['code'] );
        return $arr_input;
    }


    /**
     *  门店申请变更信息
     *  hinq 2019 11 04
     *
     **/
    public function shop_modity_store( array $arr_input ){
        \DB::beginTransaction();
        try{
            $data = self::checkData( (array) $arr_input );

            if( $data['state'] == 1 ){
                return $data;
            }
            $admin = web_user();
            //当前登录用户的门店id
            $repairstore_id = get_web_shop_id();   //当前商户的门店id
            $data['shop_id'] = $repairstore_id;
            if( $admin['type'] == 3 ){    //维修店
                $data['cate'] = 2;
            }else if( $admin['type'] == 2 ){  //检测站
                $data['cate'] = 1;
            }
            $data['status'] = 1;
            $shop_img = $data['shop_img'];
            unset( $data['shop_img'] );
            //验证当前门店是否已经提交了数据（已提交 待审核）
            $where = ['shop_id'=>$repairstore_id , 'cate'=>$data['cate'] , 'status'=>1];
            $count = ShopModifyRepository::get_count_by_where( (array) $where );

            if( $count > 0 ){
                return hello_error('您已提交过变更申请(正在审核中)，请勿重复提交');
            }
            //保存申请变更的数据
            $res = ShopModifyRepository::add_one( (array) $data );
            $res2 = true;
            $temp['shop_modify_id'] = $res->id;
            foreach ( $shop_img as $item ){
                $temp['img'] = $item;
                $res2 = ShopModifyImgRepository::add_one( (array) $temp );
            }
            if( $res && $res2  ){
                \DB::commit();
            }
            return hello_success('已提交申请资料，等待审核');
        }catch( \Exception $exception){
            \DB::rollBack();
            return ['state'=>1,'msg'=>$exception->getMessage()];
        }
    }





}